[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 ungetc()                Push Character Back onto the Stream

 #include   <stdio.h>

 int        ungetc(c,stream);
 int        c;                           Character to be pushed
 FILE       *stream;                     Pointer to file structure

    ungetc() pushes 'c' back onto the input stream specified by 'stream'.
    'stream' must be buffered and open for reading.  The next call to
    getc() or fread() after a call to ungetc() returns 'c'.  An attempt
    to push EOF is ignored.

       Returns:     The character argument 'c' is returned, if
                    successful.  EOF indicates a failure to push back 'c'
                    or an attempt to push back a character before any
                    have been read.

         Notes:     If ungetc() is called twice without an intervening
                    call to getc(), the character pushed back by the
                    first ungetc() call is erased.  Likewise, fseek()
                    will erase a character that has been pushed back if
                    it is called before the character is reread.

   -------------------------------- Example ---------------------------------

    The following statements open a file, read characters, and push back
    the last character read.

           #include <stdio.h>

           FILE *stream;
           int i, ch;
           char *buffr;

           main()
           {
               if ((stream = fopen("msg.txt","r+")) != NULL) {
                  i = 0;
                  while ((ch = getc(stream)) != '@')
                        buffr[i++] = ch;
                  ungetc(ch,stream);
                  fclose(stream);
               }
           }


See Also: ungetch() getc() putc()
This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson